package de.hdu.tennis.ctrl;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import de.hdu.tennis.dao.TennisplatzDao;
import de.hdu.tennis.dao.BewertungDao;
import de.hdu.tennis.model.Bewertung;


@Controller
public class BewertungController {
	private static Logger log = Logger.getLogger(BewertungController.class);
	private BewertungDao bewertungDao = null;
	private TennisplatzDao tennisplatzDao = null;
	private Bewertung bewertung = null;
	

	/**
     * <p> BewertungController form request.</p>
     * 
     * <p>Expected HTTP GET and request '/EditBewertung.html'.</p>
     * @return 
     */
    @RequestMapping(value="/EditBewertung.html", method=RequestMethod.GET)
    public ModelAndView edit(@RequestParam(required=false) Integer id) {
    	log.debug("EditBewertung.html");
    	ModelAndView mv = new ModelAndView();
    	if (id == null) {
    		mv.addObject(new BewertungController());
    	} else { 
    		mv.addObject(bewertungDao.findById(id));
    	}
    	mv.addObject("title", "Tennisplatzbewertung");
    	mv.addObject("message", "Tragen Sie die Bewertung ein");
    	mv.addObject("tennisplaetze", tennisplatzDao.findAll());
    	mv.setViewName("edit-bewertung");
    	return mv;
    	}
    
    /**
     * <p>Expected HTTP POST and request '/SaveBewertung.html'.</p>
     * @return 
     */
    	@RequestMapping(value="/SaveBewertung.html", method=RequestMethod.POST)
    public String save(Model model, Bewertung bewertung, Integer t_pk) {
    	bewertungDao.save(bewertung, t_pk);
    	model.addAttribute("statusMessagekey", "projekte.form.msg.success");
        return "redirect:AlleBewertung.html";
    }
    
    @RequestMapping(value="/AlleBewertung.html", method=RequestMethod.GET)
    public ModelAndView findAll() {
		ModelAndView mv = new ModelAndView();
		mv.addObject("title", "Bewertungen");
		mv.addObject("message", "Vorhandene Bewertungen");
		mv.addObject("bewertung", bewertungDao.findAll());
		mv.addObject("edit", true);
		mv.setViewName("list-bewertung");
		return mv;
    }

    
    public Bewertung getBewertung() {
		return bewertung;
	}

	public void setBewertung(Bewertung bewertung) {
		this.bewertung = bewertung;
	}

	public void setTennisplatzDao(TennisplatzDao tennisplatzDao) {
		this.tennisplatzDao = tennisplatzDao;
	}

	public void setBewertungDao(BewertungDao bewertungDao) {
		this.bewertungDao = bewertungDao;
	}
   
    
	public BewertungDao getBewertungDao() {
		return bewertungDao;
	}

	public TennisplatzDao getTennisplatzDao() {
		return tennisplatzDao;
	}  
    
    
}
